# 导入爬虫要用到的库

import json

import requests


# E:\demo.json
def openWrite(path, content):
    with open(path, "w", encoding="utf-8") as f:
        f.write(content)
        return True


def openRead(path):
    with open(path, "r", encoding="utf-8") as f:
        return f.read()


# 请求之前对请求操作进行伪装
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36 Edg/109.0.1518.78"
}


def httpGet(url):
    """get的请求"""

    # 发送请求
    r = requests.get(url, headers)
    '''
    r 响应体对象
    获取响应体的状态码
    print(r.status_code)
    获取到网页的编码
    print(r.encoding)
    获取响应体中的content-type对应的值
    print(r.headers["content-type"])
    获取二进制响应内容,如相应结果是张图片,音频等
    print(r.content)
    获取到网页的内容 字符串类型
    print(r.text)
    获取响应头的具体字段
    print(r.headers['Server'])
    print(r.headers.get('Server'))
    
    dict类型
    json = r.json()
    '''
    r.history
    boolVar = r.status_code == 200
    if boolVar:
        return r.text
    else:
        return None





# 提示,如果json字符串中个别键值对中是由单引号包括的需要进行转成双引号才能读取
# 使用eval() :该方法可以理解为是实现list、dict、tuple、与str之间的转化
# content = eval(openRead("E:\demo.json"))


def isCode(jsonContent):
    if jsonContent["code"] == "200":
        return True
    else:
        return False;


def getListUrl(jsonContent):
    return jsonContent["acgUrls"]


def demo01():
    content = httpGet("http://www.ggapi.cn/api/acg?type=jsonpro")
    jsonArr = json.loads(content)
    if isCode(jsonArr):
        print(getListUrl(jsonArr))
    else:
        print("获取失败")
